package io;


/**
 * 节点流 VS 处理流
 */
public class NodeStreamAndProcessingStream {

    public static void main(String[] args) {

        /*
            1)节点流可以从一个特定的数据源读写数据，如FileReader FileWriter 等
            2)处理流(包装流)是"连接"在已存在的流(节点流或处理流)之上，为程序提供更为强大的读写功能
              如 BufferedReader BufferedWriter
              BufferedReader 类中，有属性Reader，即可以封装一个节点流，该节点类可以是任意(只要是Reader子类)
         */

        /*
            节点流和数据流的区别和联系
            1.节点流是底层流/低级流，直接跟数据源相关
            2.处理流(包装流)包装节点流，既可以消除不同节点流的实现差异，也可以提供更方便的方法来完成输入输出
            3.处理流对节点流进行包装，使用了修饰器设计模式，不会直接与数据源相连(修饰器设计模式)

            处理流的功能主要体现在两个方面
            1.性能的提高：主要以增加缓冲的方式来提高输入输出的效率
            2.操作的便捷：处理流可能提供了一系列便捷的方法来一次输入输出大批量的数据，使用更加灵活

         */
    }
}
